/* Copyright 2011 Elektrobit Wireless Communications Oy (EB)


  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License version 2 as 
  published by the Free Software Foundation.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License along
  with this program; if not, write to the Free Software Foundation, Inc.,
  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.


 *All rights reserved 
 *Version:Elektrobit_Qt_1.0.0_20110305 */


#include "propertyhelper.h"
#include <QVariant>
#include <appcommon.h>
void PropertyHelper::getProperties(const QDomElement &node, QHash<QString, QString> & properties) {
    if(node.isNull()) {
        APPWARAING << "parse  a null node";
        return;
    }
    QDomElement n = node.firstChildElement("property");
    while( !n.isNull() ) {
        properties.insert( n.firstChildElement("key").text(), n.firstChildElement("value").text() );
        n = n.nextSiblingElement();
    }
}

void PropertyHelper::bindProperties(QObject *object, const QDomElement &node) {
    QHash<QString, QString> properties;
    PropertyHelper::getProperties(node, properties);
    QHashIterator<QString, QString> i(properties);
    while (i.hasNext()) {
        i.next();
        object->setProperty(i.key().toUtf8().data(), QVariant(i.value()));
    }
    
}
